1. Field of the Invention
The present invention relates to managing router configurations in an Internet Protocol (IP) router. More particularly, the present invention relates to configuration and management of router parameters relying on network address prefixes as router parameters.
2. Description of the Related Art
Routers are processor-based devices configured for routing Network Layer level (i.e., Layer 3) packets between interfaces attached to the router. An example of a Network Layer level packet is an Internet Protocol (IP) packet. A “link” is a physical medium used to connect the interfaces. Each link needs to be numbered using a globally unique identifier, referred to as a network prefix.
The network prefix is used by the routers to identify how a packet having an IP address should be routed. In particular, each IP address (e.g., IPv4, IPv6) is composed of a network portion (i.e., the network prefix) and a host portion (i.e., a host identifier). In the case of an IPv6 address, the total address size is 128 bits and the host identifier is set at 64 bits, leaving 64 bits for the network prefix.
IP address space is hierarchically allocated: a primary authority, known as the Internet Assigned Numbers Authority (IANA), allocates a large block of addresses (e.g., a 16-bit prefix) to a Regional Internet Registry (RIR); the RIR allocates a smaller block of addresses (e.g., a 32-bit prefix) to a local registry such as an Internet Service Provider (ISP). The ISP then allocates a smaller portion of the available address space (preferably a 48-bit prefix) to its subscriber. Address prefixes use slash notation, i.e. a prefix is described as <address>/<prefix length>. Prefix length is the number of significant bits in the address counting from the left, using the address notation specified by the IETF Request for Comments (RFC) 3513, incorporated in its entirety herein by reference.
As an example, the prefixes P1, P2, and P3 can be illustrated as “AAAA:BBBB:/32”, “AAAA:BBBB:CCCC::/48” and “AAAA:BBBB:CCCC:DDDD::/64”, respectively, where the prefix P1 is a 32-bit prefix assigned by the RIR to an ISP, the prefix P2 is a 48-bit prefix assigned by the ISP to a subscriber, and the prefix P3 is a 64-bit prefix used by the subscriber to identify a subnetwork on a prescribed link. Hence, in this example the subscriber can number 65536 links using the last sixteen (16) bits of the assigned 48-bit prefix.
FIG. 1 is a diagram illustrating a network 10 having routers 12a and 12b, links 14a and 14b, and host computers 16a and 16b. The router 12a is an ISP router and is configured (by an ISP administrator) to recognize that the prefix P2 is reachable via the router 12b. The router 12b, configured by another administrator for the subscriber, advertises the network address prefix P3 to the subnetwork on the link 14b using router advertisement messages, enabling the host computers 16a and 16b to automatically configure their own respective IP addresses 18a and 18b using the network address prefix P3 and their respective local host identifiers 20a and 20b. Hence, the host computers 16a and 16b can automatically manage themselves with respect to IP address assignment.
However, the routers 12a and 12b are unable to manage their respective address assignments. In particular, the routers 12a and 12b need to be manually configured: such manual configuration is needed to identify the range of IP addresses for a given router, and to enable the routers 12a and 12b to identify the links 14a and 14b according to the prefixes P2 and P3, respectively. Routers 12a and 12b typically are managed by manual configuration using a management application that includes, for example, a web interface, an Simple Network Management Protocol (SNMP) management application, a Command Line Interface (CLI), or the like.
This reliance on manual configuration of routers creates substantial problems in deployment of IPv6 services. In particular, the IPv6 architecture includes stateless address auto-configuration and a mechanism for the advertisement of network address prefixes to automate the renumbing of hosts. However, routers and other network elements require additional configuration changes in response to network renumbering. For example, network addresses appear throughout network element configuration files such as access lists, routing information and host virtualization in content networking products.
FIGS. 2A, 2B and 2C are diagrams illustrating conventional efforts in performing network renumbering in a router configuration 28a, 28b, and 28c, respectively. Assume that a network needs to be renumbered from an old network prefix (e.g., “AAAA:BBBB:CCCC::/48”) to a new network prefix (e.g., “DDDD:EEEE:FFFF::/48”): the renumbering process typically will encounter the additional complication that both the old network prefix and the new network prefix may need to coexist for a period of time while the transition is completed. As illustrated in FIG. 2A, the router configuration 28a includes the old network prefix 30a “hard coded” (i.e., stored as a static value) in an address table entry 32a, an access list entry 34a, and a static route configuration entry 36a. Note that the address table entry 32a includes the old network prefix 30a appended with a sixteen-bit subnet identifier having a value “0001”, resulting in the 64-bit prefix “AAAA:BBBB:CCCC:1::/64”; the access list 34a includes the old network prefix 30a appended with a sixteen-bit subnet identifier having a zero value, resulting in the 64-bit prefix “AAAA:BBBB:CCCC::/64”.
In order to implement the renumbering of the subnetwork to the new prefix “DDDD:EEEE:FFFF::/48” 30b, the router configuration 28a must be modified as illustrated in FIG. 2B by adding the address table entries 32b, modified entries 38, and the access list entry 34b, resulting in the configuration 28b. As shown in FIG. 2B, the address table entries 32b include the new prefix 30b, and the address table also includes modified entries 38 that specify an expiration time for the old prefix 30a. Following the expiration of the expiration time, the router can be reconfigurated to have a router configuration 28c as shown in FIG. 2C, by removing the address table entry 32a, the modified entries 38, the access list entry 34a, and replacing/modifying the static route configuration entry 36a with a new static route configuration entry 36b that specifies the new network prefix 30b. 
Hence, substantial manual reconfiguration is required to transition from the router configuration 28a using the old network prefix 30a to the router configuration 28c using the new network prefix 30b. 
Another problem is encountered whenever an ISP needs to provide network prefix information to a user. In particular, an ISP typically needs to manage millions of subscribers, each requiring a static network prefix; hence, the ISP needs to either preconfigure the subscriber's router, or send via mail a document to the subscriber with the network prefix information to enable the subscriber to manually configure his router. Hence, this manual configuration by a subscriber is error-prone.